export type CbFnType = (...arg: any[]) => void;

export type EventBusValueModel = {
    lastArg: any[],
    fns: { key: string, cb: CbFnType, plugs?: DsEventBusPlugin[] }[]
};

export type EventBusModel<T extends string | number> = { [key in T]?: EventBusValueModel };



/** 实际会使用的 */
export type PluginCbType = (next: () => void) => void;
export type DsEventBusPlugin = (...arg: any) => PluginCbType;
